package myProject.nim;

public class Judge extends Rule{
    /**
     * 展示剩余石子数
     * @param storeArray 石子队列
     * @param length 石子队列长度
     */
    public void showStore(String comment,int[] storeArray,int length){
        System.out.print(comment);
        for(int i = 0;i < length; i ++){
            System.out.print(storeArray[i]+" ");
        }
        System.out.println();
    }
    /**
     *判定是否结束，宣布输赢
     * @param length
     * @param name1 胜利
     * @param name2 失败
     * @return boolean
     */
    public boolean isEnd(int length,String name1,String name2){
        if(length != 0)return false;
        System.out.println("已经没有石子了"+name2+"无法再次操作");
        System.out.println(name1+"获胜");
        return true;
    }
    /**
     * 展示操作
     * @param name
     * @param idx
     * @param num
     */
    public void showOperation(String name,int idx,int num){
        System.out.println(name+"从第"+idx+"堆中拿走了"+num+"个石子");
    }
    /**
     * 产生随机队列
     * @param storeArray
     * @param length
     * @param min
     * @param max
     */
    public void GeneratedRandomQueue(int[] storeArray ,int length,int min,int max){
        for( int i = 0 ;i < length ;i++){
            storeArray[i] = getRandomInt(min,max);
        }
    }
    /**
     * 获得石子队列长度
     * @return 石子队列长度
     */
    public int getTotalSets(){
        int total;
        String totalSets;
        System.out.print("输入石子堆数：");
        do{
            totalSets = getInput();
            if(totalSets.matches("^[0-9]{1,}$")){
                total = Integer.parseInt(totalSets);
            }else {
                System.out.print("请输入一个数字：");
                continue;
            }
            if (total <= 0 || total > 20) {
                System.out.print("请输入1~20范围的数字：");
            } else {
                break;
            }
        }while(true);
        return total;
    }
}
